Development of modern software applications is highly complex and time consuming. Businesses increasingly develop and deploy larger and more complex applications. Additionally, these applications are often critical to a business's success. It is often difficult to develop these large complex applications on time, while meeting the project budget, and avoiding bugs and errors in the software application.
Approximately 80% of software development project time is spent designing, building, and testing model and controller layer objects. The model and controller layers connect the user presentation layer to the underlying data store. Attempts to streamline this process via object and relational mapping frameworks has led to highly proprietary and fragile software.
Representational state transfer (RestFUL) APIs have been developed to provide interoperability between computer systems. However, this method has added yet another layer of code to the application architecture and require even more coding and testing.
Some applications utilize common software design patterns. However, this results in highly complex, fine grained applications that cost substantially more to develop and are typically harder to understand. In addition to being more complex, much of this code is behind the scenes and has very little visible value to business users.